package com.lengxf.design;

/**
 * 抽象类角色
 * By Lengxf
 */
public abstract class Account {

    public boolean validate(String account, String password) {
        System.out.println("账号为: " + account);
        System.out.println("密码为: " + password);
        return account.equals("张无忌") && password.equals("123456");
    }

    public abstract void calculateInterest();

    //此处可做钩子方法 判定抽象模板父类的部分方法是否执行
    public void display() {
        System.out.println("显示利息...");
    }

    public void handle(String account, String password) {
        if (!validate(account, password)) {
            System.out.println("账户或密码错误...");
            return;
        }
        calculateInterest();
        display();
    }

}
